package com.sikaryofficial.system.api.model.outer;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 银行账户;- 当前每个品牌先设置一个账户，所有打款都是进入一个账户。更多的付款信息分配可以后续再做，初期可以让用户来进行操作对象 bank_account_t
 *
 * @author ruoyi
 * @date 2024-10-09
 */
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BankAccount implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 账户id
     */
    @ApiModelProperty(value = "账户id")
    private Long bankAccountId;

    /**
     * 银行名称
     */
    @ApiModelProperty(value = "银行名称")
    private String bankName;

    @ApiModelProperty(value = "银行国家")
    private String bankCountry;
    /**
     * 银行地址
     */
    @ApiModelProperty(value = "银行地址")
    private String bankAddress;

    /**
     * 银行代码
     */
    @ApiModelProperty(value = "银行代码")
    private String swiftCode;

    /**
     * 美元账号
     */
    @ApiModelProperty(value = "美元账号")
    private String usdAccount;

    /**
     * 收方名称
     */
    @ApiModelProperty(value = "收方名称")
    private String beneficiary;

    /**
     * 收方地址
     */
    @ApiModelProperty(value = "收方地址")
    private String beneficiaryAddress;

    /**
     * 产品编号
     */
    @ApiModelProperty(value = "产品编号")
    private String brandNo;

    /**
     * 租户号
     */
    private String tenantId;

    /**
     * 乐观锁
     */
    private String revision;

    /**
     * 创建人
     */
    private Long createdBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createdTime;

    /**
     * 更新人
     */
    private Long updatedBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updatedTime;

    /**
     * 删除版本：默认为0；删除则赋值当前记录主键ID
     */
    private String deletedVersion;

}
